package com.boatAnchorAssistant.pojo.entity;

import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import com.gitee.sunchenbin.mybatis.actable.annotation.TableComment;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlTypeConstant;
import lombok.Data;
import nirvana.core.domains.ann.AccEntity;
import nirvana.core.domains.entity.DomainBaseEntity;
import nirvana.core.domains.enums.EntityType;

import javax.persistence.Table;

/**
 * 【描 述】：
 * 【环 境】：J2SE 17
 * 【详 细】：
 *
 * @author 李松林
 * @version v1.0 2024/4/29 新建
 * @since 2024/4/29
 */
@Data
@Table
@AccEntity(type = EntityType.SERVICE_ENTITY,value = "企业")
@TableComment("企业")
public class Tenant extends DomainBaseEntity<Tenant> {

    /**
     * 名称
     */
    @Column(type = MySqlTypeConstant.VARCHAR,
            length = 20,
            comment = "名称",
            isNull = false)
    private String name;


    /**
     * 省
     */
    @Column(type = MySqlTypeConstant.BIGINT,
            length = 20,
            comment = "省",
            isNull = false,
            defaultValue = "0")
    private Long provinceId;

    /**
     * 城市
     */
    @Column(type = MySqlTypeConstant.BIGINT,
            length = 20,
            comment = "城市",
            isNull = false,
            defaultValue = "0")
    private Long cityId;

    /**
     * 区县
     */
    @Column(type = MySqlTypeConstant.BIGINT,
            length = 20,
            comment = "区县",
            isNull = false,
            defaultValue = "0")
    private Long areaId;


    /**
     * 详细地址
     */
    @Column(type = MySqlTypeConstant.VARCHAR,
            comment = "详细地址",
            isNull = false,
            defaultValue = "")
    private String detailedAddress;

    /**
     * 联系人
     */
    @Column(type = MySqlTypeConstant.VARCHAR,
            comment = "联系人",
            isNull = false,
            defaultValue = "")
    private String linkmanName;

    /**
     * 联系人电话
     */
    @Column(type = MySqlTypeConstant.VARCHAR,
            length = 11,
            comment = "联系人电话",
            isNull = false,
            defaultValue = "")
    private String linkmanPhone;

    /**
     * 管理员
     */
    @Column(type = MySqlTypeConstant.BIGINT,
            length = 20,
            comment = "管理员",
            isNull = false,
            defaultValue = "0")
    private Long adminId;

    /**
     * 备注
     */
    @Column(type = MySqlTypeConstant.VARCHAR,
            comment = "备注",
            isNull = false,
            defaultValue = "")
    private String remark;


    /**
     * 是否为系统企业
     */
    @Column(type = MySqlTypeConstant.BIT,
            length = 1,
            comment = "是否为系统企业",
            isNull = false,
            defaultValue = "0")
    private Boolean isSystem;

}
